#pragma once
#include "data/Example.h"

class StochasticAlgorithm
{
protected:
public:
  StochasticAlgorithm(void) {};
  virtual ~StochasticAlgorithm(void) {}

  virtual double Learn(const Example& example, int iter) = 0;
  virtual double Predict(const arma::sp_mat& x) const = 0;
  virtual void Save(const std::string& modelFile) const = 0;
  virtual void Load(const std::string& modelFile) {};
};

